public class Queue {
	
	//成员变量
	short[] queue;//用short类型的数组来存储数据
	int size;//记录存储的short型数据的个数
	
	//构造方法
	Queue(){
		queue=new short[16];//队列设置数组容量为16
		size=0;//默认数据个数为0
	}
	
	//往队列中添加short型数据
	void enqueue(short v) {
		queue[size++]=v;//把数据添加到数组（队列）中，同时size记录存储的数据个数
	}
	
	//从队列中删除short型数据
	short dequeue() {
		for(int i=0;i<size;i++)
		{
			queue[i]=queue[i+1];//后面的元素依次往前覆盖，达到删除最前面的数据的效果
		}
		size--;//记录当前队列数据的个数
		return queue[0];//返回队列中第一个short型数据
	}
	
	//返回队列大小
	int getSize()
	{
		return size*Short.SIZE;//单位为bit
	}

	public static void main(String[] args) {
		
		//测试队列
		Queue q=new Queue();//用队列类实例化一个对象
		
		//往队列中依次添加数据
		q.enqueue((short)1);//添加1
		q.enqueue((short)2);//添加2
		q.enqueue((short)3);//添加3
		
		//从队列中删除数据，并打印出删除后队列中的第一个数据
		System.out.println(q.dequeue());//删除1->输出2
		System.out.println(q.dequeue());//删除2->输出3
		
		//输出当前队列的大小
		System.out.println("当前队列的大小:"+q.getSize()+"bit");//输出16
	}

}
